package com.example.httplibrary.beans

/**
 * @author 郑
 * @date 2025/8/4.
 * qq：331758871
 * phone：18979397268
 */
// NetworkResult.kt
/**
 * 网络请求结果的密封类，用于表示网络请求的不同状态
 *
 * @param T 泛型参数，表示成功状态下返回的数据类型
 */
sealed class NetworkResult<out T> {
    /**
     * 表示网络请求正在进行中的状态
     */

    object Loading : NetworkResult<Nothing>()

    /**
     * 表示网络请求成功的状态
     *
     * @param T 泛型参数，表示返回的数据类型
     * @param data 成功时返回的数据内容
     */
    data class Success<out T>(val data: T) : NetworkResult<T>()

    /**
     * 表示网络请求失败的状态
     *
     * @param code 错误码
     * @param message 错误信息描述
     */
    data class Error(val code: Int, val message: String) : NetworkResult<Nothing>()
}
